package com.silence.gmall.product.domain.repository;

import com.baomidou.mybatisplus.extension.repository.IRepository;
import com.silence.gmall.base.TableDataInfo;
import com.silence.gmall.product.domain.entity.SkuInfo;
import com.silence.gmall.product.dto.SkuInfoDto;
import com.silence.gmall.product.enums.OnSaleEnum;

/**
 * @Author silence
 * @Description 针对表【sku_info(库存单元表)】的数据库操作Repository
 * @Date 2025-08-17 16:28:16
 */
public interface SkuInfoRepository extends IRepository<SkuInfo> {

    /**
     * 获取sku分页列表
     *
     * @param page  当前页码
     * @param limit 当前页数
     * @return sku分页列表
     */
    TableDataInfo<SkuInfoDto> pageSkuInfo(Long page, Long limit);

    /**
     * 上下架
     *
     * @param skuId      skuId
     * @param onSaleEnum 上下架状态
     */
    void changOnSale(Long skuId, OnSaleEnum onSaleEnum);

    /**
     * 根据SKU ID查询详情信息
     *
     * @param skuId skuId
     * @return 详情信息
     */
    SkuInfoDto getSkuInfoById(Long skuId);
}